package com.zhiyou100.pojo;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class ViewLetExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public ViewLetExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andUsemailIsNull() {
            addCriterion("usEmail is null");
            return (Criteria) this;
        }

        public Criteria andUsemailIsNotNull() {
            addCriterion("usEmail is not null");
            return (Criteria) this;
        }

        public Criteria andUsemailEqualTo(String value) {
            addCriterion("usEmail =", value, "usemail");
            return (Criteria) this;
        }

        public Criteria andUsemailNotEqualTo(String value) {
            addCriterion("usEmail <>", value, "usemail");
            return (Criteria) this;
        }

        public Criteria andUsemailGreaterThan(String value) {
            addCriterion("usEmail >", value, "usemail");
            return (Criteria) this;
        }

        public Criteria andUsemailGreaterThanOrEqualTo(String value) {
            addCriterion("usEmail >=", value, "usemail");
            return (Criteria) this;
        }

        public Criteria andUsemailLessThan(String value) {
            addCriterion("usEmail <", value, "usemail");
            return (Criteria) this;
        }

        public Criteria andUsemailLessThanOrEqualTo(String value) {
            addCriterion("usEmail <=", value, "usemail");
            return (Criteria) this;
        }

        public Criteria andUsemailLike(String value) {
            addCriterion("usEmail like", value, "usemail");
            return (Criteria) this;
        }

        public Criteria andUsemailNotLike(String value) {
            addCriterion("usEmail not like", value, "usemail");
            return (Criteria) this;
        }

        public Criteria andUsemailIn(List<String> values) {
            addCriterion("usEmail in", values, "usemail");
            return (Criteria) this;
        }

        public Criteria andUsemailNotIn(List<String> values) {
            addCriterion("usEmail not in", values, "usemail");
            return (Criteria) this;
        }

        public Criteria andUsemailBetween(String value1, String value2) {
            addCriterion("usEmail between", value1, value2, "usemail");
            return (Criteria) this;
        }

        public Criteria andUsemailNotBetween(String value1, String value2) {
            addCriterion("usEmail not between", value1, value2, "usemail");
            return (Criteria) this;
        }

        public Criteria andUsaccountIsNull() {
            addCriterion("usAccount is null");
            return (Criteria) this;
        }

        public Criteria andUsaccountIsNotNull() {
            addCriterion("usAccount is not null");
            return (Criteria) this;
        }

        public Criteria andUsaccountEqualTo(String value) {
            addCriterion("usAccount =", value, "usaccount");
            return (Criteria) this;
        }

        public Criteria andUsaccountNotEqualTo(String value) {
            addCriterion("usAccount <>", value, "usaccount");
            return (Criteria) this;
        }

        public Criteria andUsaccountGreaterThan(String value) {
            addCriterion("usAccount >", value, "usaccount");
            return (Criteria) this;
        }

        public Criteria andUsaccountGreaterThanOrEqualTo(String value) {
            addCriterion("usAccount >=", value, "usaccount");
            return (Criteria) this;
        }

        public Criteria andUsaccountLessThan(String value) {
            addCriterion("usAccount <", value, "usaccount");
            return (Criteria) this;
        }

        public Criteria andUsaccountLessThanOrEqualTo(String value) {
            addCriterion("usAccount <=", value, "usaccount");
            return (Criteria) this;
        }

        public Criteria andUsaccountLike(String value) {
            addCriterion("usAccount like", value, "usaccount");
            return (Criteria) this;
        }

        public Criteria andUsaccountNotLike(String value) {
            addCriterion("usAccount not like", value, "usaccount");
            return (Criteria) this;
        }

        public Criteria andUsaccountIn(List<String> values) {
            addCriterion("usAccount in", values, "usaccount");
            return (Criteria) this;
        }

        public Criteria andUsaccountNotIn(List<String> values) {
            addCriterion("usAccount not in", values, "usaccount");
            return (Criteria) this;
        }

        public Criteria andUsaccountBetween(String value1, String value2) {
            addCriterion("usAccount between", value1, value2, "usaccount");
            return (Criteria) this;
        }

        public Criteria andUsaccountNotBetween(String value1, String value2) {
            addCriterion("usAccount not between", value1, value2, "usaccount");
            return (Criteria) this;
        }

        public Criteria andUsidIsNull() {
            addCriterion("usId is null");
            return (Criteria) this;
        }

        public Criteria andUsidIsNotNull() {
            addCriterion("usId is not null");
            return (Criteria) this;
        }

        public Criteria andUsidEqualTo(Integer value) {
            addCriterion("usId =", value, "usid");
            return (Criteria) this;
        }

        public Criteria andUsidNotEqualTo(Integer value) {
            addCriterion("usId <>", value, "usid");
            return (Criteria) this;
        }

        public Criteria andUsidGreaterThan(Integer value) {
            addCriterion("usId >", value, "usid");
            return (Criteria) this;
        }

        public Criteria andUsidGreaterThanOrEqualTo(Integer value) {
            addCriterion("usId >=", value, "usid");
            return (Criteria) this;
        }

        public Criteria andUsidLessThan(Integer value) {
            addCriterion("usId <", value, "usid");
            return (Criteria) this;
        }

        public Criteria andUsidLessThanOrEqualTo(Integer value) {
            addCriterion("usId <=", value, "usid");
            return (Criteria) this;
        }

        public Criteria andUsidIn(List<Integer> values) {
            addCriterion("usId in", values, "usid");
            return (Criteria) this;
        }

        public Criteria andUsidNotIn(List<Integer> values) {
            addCriterion("usId not in", values, "usid");
            return (Criteria) this;
        }

        public Criteria andUsidBetween(Integer value1, Integer value2) {
            addCriterion("usId between", value1, value2, "usid");
            return (Criteria) this;
        }

        public Criteria andUsidNotBetween(Integer value1, Integer value2) {
            addCriterion("usId not between", value1, value2, "usid");
            return (Criteria) this;
        }

        public Criteria andLeusaddresseridIsNull() {
            addCriterion("leUsAddresserid is null");
            return (Criteria) this;
        }

        public Criteria andLeusaddresseridIsNotNull() {
            addCriterion("leUsAddresserid is not null");
            return (Criteria) this;
        }

        public Criteria andLeusaddresseridEqualTo(Integer value) {
            addCriterion("leUsAddresserid =", value, "leusaddresserid");
            return (Criteria) this;
        }

        public Criteria andLeusaddresseridNotEqualTo(Integer value) {
            addCriterion("leUsAddresserid <>", value, "leusaddresserid");
            return (Criteria) this;
        }

        public Criteria andLeusaddresseridGreaterThan(Integer value) {
            addCriterion("leUsAddresserid >", value, "leusaddresserid");
            return (Criteria) this;
        }

        public Criteria andLeusaddresseridGreaterThanOrEqualTo(Integer value) {
            addCriterion("leUsAddresserid >=", value, "leusaddresserid");
            return (Criteria) this;
        }

        public Criteria andLeusaddresseridLessThan(Integer value) {
            addCriterion("leUsAddresserid <", value, "leusaddresserid");
            return (Criteria) this;
        }

        public Criteria andLeusaddresseridLessThanOrEqualTo(Integer value) {
            addCriterion("leUsAddresserid <=", value, "leusaddresserid");
            return (Criteria) this;
        }

        public Criteria andLeusaddresseridIn(List<Integer> values) {
            addCriterion("leUsAddresserid in", values, "leusaddresserid");
            return (Criteria) this;
        }

        public Criteria andLeusaddresseridNotIn(List<Integer> values) {
            addCriterion("leUsAddresserid not in", values, "leusaddresserid");
            return (Criteria) this;
        }

        public Criteria andLeusaddresseridBetween(Integer value1, Integer value2) {
            addCriterion("leUsAddresserid between", value1, value2, "leusaddresserid");
            return (Criteria) this;
        }

        public Criteria andLeusaddresseridNotBetween(Integer value1, Integer value2) {
            addCriterion("leUsAddresserid not between", value1, value2, "leusaddresserid");
            return (Criteria) this;
        }

        public Criteria andLeusrecipientsidIsNull() {
            addCriterion("leUsRecipientsid is null");
            return (Criteria) this;
        }

        public Criteria andLeusrecipientsidIsNotNull() {
            addCriterion("leUsRecipientsid is not null");
            return (Criteria) this;
        }

        public Criteria andLeusrecipientsidEqualTo(Integer value) {
            addCriterion("leUsRecipientsid =", value, "leusrecipientsid");
            return (Criteria) this;
        }

        public Criteria andLeusrecipientsidNotEqualTo(Integer value) {
            addCriterion("leUsRecipientsid <>", value, "leusrecipientsid");
            return (Criteria) this;
        }

        public Criteria andLeusrecipientsidGreaterThan(Integer value) {
            addCriterion("leUsRecipientsid >", value, "leusrecipientsid");
            return (Criteria) this;
        }

        public Criteria andLeusrecipientsidGreaterThanOrEqualTo(Integer value) {
            addCriterion("leUsRecipientsid >=", value, "leusrecipientsid");
            return (Criteria) this;
        }

        public Criteria andLeusrecipientsidLessThan(Integer value) {
            addCriterion("leUsRecipientsid <", value, "leusrecipientsid");
            return (Criteria) this;
        }

        public Criteria andLeusrecipientsidLessThanOrEqualTo(Integer value) {
            addCriterion("leUsRecipientsid <=", value, "leusrecipientsid");
            return (Criteria) this;
        }

        public Criteria andLeusrecipientsidIn(List<Integer> values) {
            addCriterion("leUsRecipientsid in", values, "leusrecipientsid");
            return (Criteria) this;
        }

        public Criteria andLeusrecipientsidNotIn(List<Integer> values) {
            addCriterion("leUsRecipientsid not in", values, "leusrecipientsid");
            return (Criteria) this;
        }

        public Criteria andLeusrecipientsidBetween(Integer value1, Integer value2) {
            addCriterion("leUsRecipientsid between", value1, value2, "leusrecipientsid");
            return (Criteria) this;
        }

        public Criteria andLeusrecipientsidNotBetween(Integer value1, Integer value2) {
            addCriterion("leUsRecipientsid not between", value1, value2, "leusrecipientsid");
            return (Criteria) this;
        }

        public Criteria andLedateIsNull() {
            addCriterion("leDate is null");
            return (Criteria) this;
        }

        public Criteria andLedateIsNotNull() {
            addCriterion("leDate is not null");
            return (Criteria) this;
        }

        public Criteria andLedateEqualTo(Date value) {
            addCriterion("leDate =", value, "ledate");
            return (Criteria) this;
        }

        public Criteria andLedateNotEqualTo(Date value) {
            addCriterion("leDate <>", value, "ledate");
            return (Criteria) this;
        }

        public Criteria andLedateGreaterThan(Date value) {
            addCriterion("leDate >", value, "ledate");
            return (Criteria) this;
        }

        public Criteria andLedateGreaterThanOrEqualTo(Date value) {
            addCriterion("leDate >=", value, "ledate");
            return (Criteria) this;
        }

        public Criteria andLedateLessThan(Date value) {
            addCriterion("leDate <", value, "ledate");
            return (Criteria) this;
        }

        public Criteria andLedateLessThanOrEqualTo(Date value) {
            addCriterion("leDate <=", value, "ledate");
            return (Criteria) this;
        }

        public Criteria andLedateIn(List<Date> values) {
            addCriterion("leDate in", values, "ledate");
            return (Criteria) this;
        }

        public Criteria andLedateNotIn(List<Date> values) {
            addCriterion("leDate not in", values, "ledate");
            return (Criteria) this;
        }

        public Criteria andLedateBetween(Date value1, Date value2) {
            addCriterion("leDate between", value1, value2, "ledate");
            return (Criteria) this;
        }

        public Criteria andLedateNotBetween(Date value1, Date value2) {
            addCriterion("leDate not between", value1, value2, "ledate");
            return (Criteria) this;
        }

        public Criteria andLecontentIsNull() {
            addCriterion("leContent is null");
            return (Criteria) this;
        }

        public Criteria andLecontentIsNotNull() {
            addCriterion("leContent is not null");
            return (Criteria) this;
        }

        public Criteria andLecontentEqualTo(String value) {
            addCriterion("leContent =", value, "lecontent");
            return (Criteria) this;
        }

        public Criteria andLecontentNotEqualTo(String value) {
            addCriterion("leContent <>", value, "lecontent");
            return (Criteria) this;
        }

        public Criteria andLecontentGreaterThan(String value) {
            addCriterion("leContent >", value, "lecontent");
            return (Criteria) this;
        }

        public Criteria andLecontentGreaterThanOrEqualTo(String value) {
            addCriterion("leContent >=", value, "lecontent");
            return (Criteria) this;
        }

        public Criteria andLecontentLessThan(String value) {
            addCriterion("leContent <", value, "lecontent");
            return (Criteria) this;
        }

        public Criteria andLecontentLessThanOrEqualTo(String value) {
            addCriterion("leContent <=", value, "lecontent");
            return (Criteria) this;
        }

        public Criteria andLecontentLike(String value) {
            addCriterion("leContent like", value, "lecontent");
            return (Criteria) this;
        }

        public Criteria andLecontentNotLike(String value) {
            addCriterion("leContent not like", value, "lecontent");
            return (Criteria) this;
        }

        public Criteria andLecontentIn(List<String> values) {
            addCriterion("leContent in", values, "lecontent");
            return (Criteria) this;
        }

        public Criteria andLecontentNotIn(List<String> values) {
            addCriterion("leContent not in", values, "lecontent");
            return (Criteria) this;
        }

        public Criteria andLecontentBetween(String value1, String value2) {
            addCriterion("leContent between", value1, value2, "lecontent");
            return (Criteria) this;
        }

        public Criteria andLecontentNotBetween(String value1, String value2) {
            addCriterion("leContent not between", value1, value2, "lecontent");
            return (Criteria) this;
        }

        public Criteria andLestatusIsNull() {
            addCriterion("leStatus is null");
            return (Criteria) this;
        }

        public Criteria andLestatusIsNotNull() {
            addCriterion("leStatus is not null");
            return (Criteria) this;
        }

        public Criteria andLestatusEqualTo(String value) {
            addCriterion("leStatus =", value, "lestatus");
            return (Criteria) this;
        }

        public Criteria andLestatusNotEqualTo(String value) {
            addCriterion("leStatus <>", value, "lestatus");
            return (Criteria) this;
        }

        public Criteria andLestatusGreaterThan(String value) {
            addCriterion("leStatus >", value, "lestatus");
            return (Criteria) this;
        }

        public Criteria andLestatusGreaterThanOrEqualTo(String value) {
            addCriterion("leStatus >=", value, "lestatus");
            return (Criteria) this;
        }

        public Criteria andLestatusLessThan(String value) {
            addCriterion("leStatus <", value, "lestatus");
            return (Criteria) this;
        }

        public Criteria andLestatusLessThanOrEqualTo(String value) {
            addCriterion("leStatus <=", value, "lestatus");
            return (Criteria) this;
        }

        public Criteria andLestatusLike(String value) {
            addCriterion("leStatus like", value, "lestatus");
            return (Criteria) this;
        }

        public Criteria andLestatusNotLike(String value) {
            addCriterion("leStatus not like", value, "lestatus");
            return (Criteria) this;
        }

        public Criteria andLestatusIn(List<String> values) {
            addCriterion("leStatus in", values, "lestatus");
            return (Criteria) this;
        }

        public Criteria andLestatusNotIn(List<String> values) {
            addCriterion("leStatus not in", values, "lestatus");
            return (Criteria) this;
        }

        public Criteria andLestatusBetween(String value1, String value2) {
            addCriterion("leStatus between", value1, value2, "lestatus");
            return (Criteria) this;
        }

        public Criteria andLestatusNotBetween(String value1, String value2) {
            addCriterion("leStatus not between", value1, value2, "lestatus");
            return (Criteria) this;
        }

        public Criteria andLeidIsNull() {
            addCriterion("leId is null");
            return (Criteria) this;
        }

        public Criteria andLeidIsNotNull() {
            addCriterion("leId is not null");
            return (Criteria) this;
        }

        public Criteria andLeidEqualTo(Integer value) {
            addCriterion("leId =", value, "leid");
            return (Criteria) this;
        }

        public Criteria andLeidNotEqualTo(Integer value) {
            addCriterion("leId <>", value, "leid");
            return (Criteria) this;
        }

        public Criteria andLeidGreaterThan(Integer value) {
            addCriterion("leId >", value, "leid");
            return (Criteria) this;
        }

        public Criteria andLeidGreaterThanOrEqualTo(Integer value) {
            addCriterion("leId >=", value, "leid");
            return (Criteria) this;
        }

        public Criteria andLeidLessThan(Integer value) {
            addCriterion("leId <", value, "leid");
            return (Criteria) this;
        }

        public Criteria andLeidLessThanOrEqualTo(Integer value) {
            addCriterion("leId <=", value, "leid");
            return (Criteria) this;
        }

        public Criteria andLeidIn(List<Integer> values) {
            addCriterion("leId in", values, "leid");
            return (Criteria) this;
        }

        public Criteria andLeidNotIn(List<Integer> values) {
            addCriterion("leId not in", values, "leid");
            return (Criteria) this;
        }

        public Criteria andLeidBetween(Integer value1, Integer value2) {
            addCriterion("leId between", value1, value2, "leid");
            return (Criteria) this;
        }

        public Criteria andLeidNotBetween(Integer value1, Integer value2) {
            addCriterion("leId not between", value1, value2, "leid");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}